<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>
        // sort(fn)  给数组进行排序  传入的是排序规则

        // let arr = [4,5,2,6,1,3];
        // function mySort(a,b) {
        //     //a ===arr[i]   左边的
        //     //b ===arr[i+1] 右边的

        //     if(a<b){
        //          //当 return 1 的时候 b 会被 调整到 a 的前面
        //         return 1;
        //     }
        //     if(a>b){
        //     //当 return -1 的时候 a 会被 调整到 b的前面

        //         return -1;
        //     }
        //     //当 return 0 的时候 代表位置不变
        //     return 0;

        // }
        // let demo = arr.sort(function(a,b){return a-b})
        // console.log(demo);

        // join() 将数组按照指定字符拼接成字符串  (数组转字符串的方法)
        // 数组.join("拼接符")

        // let name = ["张三", "李四", "王五", "周天"]
        // let b = String(name)
        // console.log(b);
        // let c = name.join("")
        // console.log(c);

        // forEach() 可以循环遍历数组
        // 数组.forEach(function(item,index,arr){
        //     根据数组长度  有几个元素  这个函数就执行多少遍
        //     item  每一项的元素
        //     index  每一项元素的下标
        //     arr  当前遍历的数组
        // })

        // name.forEach(function(item,index,arr){
        //     console.log(111);
        //     console.log("item",item);
        //     console.log("index",index);
        //     console.log("arr",arr);


        // });


        // map()  循环遍历数组  回调函数中必须写  return map有返回值  返回的是一个通过return  返回的新数组
        // let  xx = 数组.map(function (item, index, arr) {

        //     return 组成新数组的元素
        // })

        // let name = ["张三", "李四", "王五", "周天", "周一"]

        // let arr = []
        // for (let i = 0; i < name.length; i++) {
        //     let item = name[i]
        //     arr.push("*" + item + "*")
        // }
        
        // let arr = name.map(function(item){
        //     return "*"+ item +"*"
        // })

        // console.log(name);
        // console.log(arr);

        // filter() 过滤掉不符合要求的 元素 (return false)  留下符合条件的 return true
        // let xx = 数组.filter(function(item,index,arr){

        //     return true/false
        // })


        // let arr = [0,1,undefined,2,3,7,2,6,8,5,8,55]
        // 去掉数组中 的所有的 0 或者 undefined 但是保留原数组
        // let narr = []
        // let demo = arr.filter(function(num){
            

        //     return Boolean(num)
        // }) 
        // console.log(arr);
        
        // console.log(demo);
        

        // forEach()  没有返回值   不需要return   都有三个参数(item,index,arr)(每一项的元素,每一项元素的下标,当前遍历的数组)

        // map()   有返回值  需要

        // filter()  有返回值  需要




    </script>
</body>

</html>